package cn.com.cifi.mars.mapper.mars;

import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import cn.com.cifi.mars.bean.dto.OrgDataDto;
import cn.com.cifi.mars.bean.dto.ProjectByStagesDto;
import cn.com.cifi.mars.bean.vo.sys.rsp.CityVo;
import cn.com.cifi.mars.common.base.BaseMapper;
import cn.com.cifi.mars.entity.common.IdmOrg;
import cn.com.cifi.mars.entity.common.ProjectByStages;

/**
 * 组织机构
 * 
 * @author 60157
 *
 */
public interface IdmOrgMapper extends BaseMapper<IdmOrg> {

	int deleteAll();

	List<IdmOrg> selectOrgList(@Param("orgname") String orgname);

	int insertSelective(IdmOrg bean);

	List<IdmOrg> selectProjeOrgList();

	List<IdmOrg> selectPhasesUnderProjectsList();

	List<Map<String, Object>> selectRegionList(@Param("hrOrgTypeId") String hrOrgTypeId);

	OrgDataDto selectByOrgId(@Param("orgdepid") String orgdepid);

	List<ProjectByStagesDto> selectProjectByStagesV1(@Param("orgstatus") String orgstatus,@Param("hrOrgTypeId") List<String> hrOrgTypeId);

	List<IdmOrg> selectMdmProjectList();

	List<CityVo> selectCityList(@Param("orgstatus") String orgstatus, @Param("hrOrgTypeId") String hrOrgTypeId,@Param("regionId") String regionId);

	String selectByOrgNameAndHrOrgTypeId(@Param("orgstatus") String orgstatus, @Param("hrOrgTypeId") String hrOrgTypeId,@Param("orgname") String orgname);

	OrgDataDto selectByIdmOrgId(@Param("orgdepid") String orgdepid);

	List<IdmOrg> selectByOrgnofullpath(@Param("orgdepid") String orgdepid);

	int updateOrgnofullpath(IdmOrg idmOrg);

	int selectByStages(@Param("hrOrgTypeId") String hrOrgTypeId, @Param("orgdepid") String orgdepid);

	List<ProjectByStages> selectProcessConfigTree(@Param("hrOrgTypeId") List<String> hrOrgTypeId);

	IdmOrg selectByOrgdepId(@Param("orgdepid") String orgdepid);

    void insertList(@Param("list") List<IdmOrg> list);
	    
    void updateDataBatch(@Param("updateList")List<IdmOrg> updateList);

	List<String> selectOrgdepidList();

}
